﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Voluntariar.Sistema.DAO;
using Voluntariar.WEB.Util;
using System.Web.UI.HtmlControls;

namespace Voluntariar.WEB.Controls
{
    public partial class RespostaUsuarioAmizade : System.Web.UI.UserControl
    {
        #region Atributos

        public DataTable dt;
        public int IDUsuario
        {
            get
            {
                if (ViewState["IDUsuario"] == null)
                    return 0;
                return Convert.ToInt32(ViewState["IDUsuario"]);
            }
            set
            {
                ViewState.Add("IDUsuario", value);
            }
        }

        #endregion

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!Page.IsPostBack)
                {
                    GetUserFriendsRequest(IDUsuario);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }

        public void GetUserFriendsRequest(int Id)
        {
            try
            {
                List<Voluntariar.Sistema.Entidades.Usuarios> lista = UsuarioDAO.PesquisarUsuariosAmizadeStatus(Util.Sessao.ObjUsuario.ID);
                if (lista.Count > 0)
                {
                    RequisicoesLista.DataSource = lista;
                    RequisicoesLista.DataBind();
                }
                else
                    this.table.Visible = false;
            }
            catch (Exception ex)
            {
                throw ex;
            }

        }

        public string getHREF(object sURL)
        {
            try
            {
                Voluntariar.Sistema.Entidades.Usuarios user = (Voluntariar.Sistema.Entidades.Usuarios)sURL;
                Sessao.iParametro = user.ID;
                return ResolveUrl("~/DetalhesUser.aspx");

            }
            catch (Exception ex)
            {
                throw ex;
            }

        }

        public string getSRC(object imgSRC)
        {
            try
            {

                Voluntariar.Sistema.Entidades.Usuarios user = (Voluntariar.Sistema.Entidades.Usuarios)imgSRC;

                if (user.imagem == "NoImage")
                {
                    return ResolveUrl(@"~/ImagemUsuarios/missing.jpg");
                }
                else
                {
                    return ResolveUrl("~/ImagemUsuarios/" + user.imagem.ToString());
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        protected void RequisicoesLista_ItemCommand(object source, DataListCommandEventArgs e)
        {
            try
            {
                if (e.CommandName == "Aceita")
                {
                    Sistema.Entidades.Amizades amigo = new Sistema.Entidades.Amizades();
                    amigo.SituacaoAmizades = Sistema.Entidades.Amizades.SituacaoAmizade.Amigo;
                    amigo.Usuarios.ID = Util.Sessao.ObjUsuario.ID;
                    amigo.UsuariosAmigo.ID = Convert.ToInt32(((HiddenField)e.Item.FindControl("hdnID")).Value);
                    AmizadesDAO.AlteraAmizadesResposta(amigo);
                    Response.Redirect("DetalhesUser.aspx", false);
                }
                if (e.CommandName == "Recusa")
                {
                    Sistema.Entidades.Amizades amigo = new Sistema.Entidades.Amizades();
                    amigo.SituacaoAmizades = Sistema.Entidades.Amizades.SituacaoAmizade.Recusado;
                    amigo.Usuarios.ID = Util.Sessao.ObjUsuario.ID;
                    amigo.UsuariosAmigo.ID = Convert.ToInt32(((HiddenField)e.Item.FindControl("hdnID")).Value);
                    AmizadesDAO.AlteraAmizadesResposta(amigo);
                    Response.Redirect("DetalhesUser.aspx", false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }



        }
    }
}